Full-motion video displays based upon analog video signals have long been available in the form of television. With recent increases in computer processing capabilities and affordability, full-motion video displays based upon digital video signals are becoming more widely available. Digital video systems can provide significant improvements over conventional analog video systems in creating, modifying, transmitting, storing, and playing full-motion video sequences.
Digital video displays include large numbers of image frames that are played or rendered successively at frequencies of between 30 and 75 Hz. Each image frame is a still image formed from an array of pixels according to the display resolution of a particular system. As examples, VHS-based systems have display resolutions of 320.times.480 pixels, NTSC-based systems have display resolutions of 720.times.486 pixels, and high-definition television (HDTV) systems under development have display resolutions of 1360.times.1024 pixels.
The amounts of raw digital information included in video sequences are massive. Storage and transmission of these amounts of video information is infeasible with conventional personal computer equipment. With reference to a digitized form of a relatively low resolution VHS image format having a 320.times.480 pixel resolution, a full-length motion picture of two hours in duration could correspond to 100 gigabytes of digital video information. By comparison, conventional compact optical disks have capacities of about 0.6 gigabytes, magnetic hard disks have capacities of 1-2 gigabytes, and compact optical disks under development have capacities of up to 8 gigabytes.
In response to the limitations in storing or transmitting such massive amounts of digital video information, various video compression standards or processes have been established, including MPEG-1, MPEG-2, and H.26X. These conventional video compression techniques utilize similarities between successive image frames, referred to as temporal or interframe correlation, to provide interframe compression in which pixel-based representations of image frames are converted to motion representations. In addition, the conventional video compression techniques utilize similarities within image frames, referred to as spatial or intraframe correlation, to provide intraframe compression in which the motion representations within an image frame are further compressed. Intraframe compression is based upon conventional processes for compressing still images, such as discrete cosine transform (DCT) encoding.
Although differing in specific implementations, the MPEG-1, MPEG-2, and H.26X video compression standards are similar in a number of respects. The following description of the MPEG-2 video compression standard is generally applicable to the others.
MPEG-2 provides interframe compression and intraframe compression based upon square blocks or arrays of pixels in video images. A video image is divided into transformation blocks having dimensions of 16.times.16 pixels. For each transformation block T.sub.N in an image frame N, a search is performed across the image of a next successive video frame N+1 or immediately preceding image frame N-1 (i.e., bidirectionally) to identify the most similar respective transformation blocks T.sub.N+1 or T.sub.N-1.
Ideally, and with reference to a search of the next successive image frame, the pixels in transformation blocks T.sub.N and T.sub.N+1 are identical, even if the transformation blocks have different positions in their respective image frames. Under these circumstances, the pixel information in transformation block T.sub.N+1 is redundant to that in transformation block T.sub.N. Compression is achieved by substituting the positional translation between transformation blocks T.sub.N and T.sub.N-1 for the pixel information in transformation block T.sub.N+1. In this simplified example, a single translational vector (AX,AY) is designated for the video information associated with the 256 pixels in transformation block T.sub.N+1.
Frequently, the video information (i.e., pixels) in the corresponding transformation blocks T.sub.N and T.sub.N+1 are not identical. The difference between them is designated a transformation block error E, which often is significant. Although it is compressed by a conventional compression process such as discrete cosine transform (DCT) encoding, the transformation block error E is cumbersome and limits the extent (ratio) and the accuracy by which video signals can be compressed.
Large transformation block errors E arise in block-based video compression methods for several reasons. The block-based motion estimation represents only translational motion between successive image frames. The only change between corresponding transformation blocks T.sub.N and T.sub.N+1 that can be represented are changes in the relative positions of the transformation blocks. A disadvantage of such representations is that full-motion video sequences frequently include complex motions other than translation, such as rotation, magnification and shear. Representing such complex motions with simple translational approximations results in the significant errors.
Another aspect of video displays is that they typically include multiple image features or objects that change or move relative to each other. Objects may be distinct characters, articles, or scenery within a video display. With respect to a scene in a motion picture, for example, each of the characters (i.e., actors) and articles (i.e., props) in the scene could be a different object.
The relative motion between objects in a video sequence is another source of significant transformation block errors E in conventional video compression processes. Due to the regular configuration and size of the transformation blocks, many of them encompass portions of different objects. Relative motion between the objects during successive image frames can result in extremely low correlation (i.e., high transformation errors E) between corresponding transformation blocks. Similarly, the appearance of portions of objects in successive image frames (e.g., when a character turns) also introduces high transformation errors E.
Conventional video compression methods appear to be inherently limited due to the size of transformation errors E. With the increased demand for digital video display capabilities, improved digital video compression processes are required.
In some applications, binary objects are encoded individually by conventional shape encoding techniques such as chain coding or polygonal contour approximation. In conventional 8-point chain coding, for example, connected pixels forming the outer contour or boundary of an object are represented in a compressed format according to the relative positions of adjacent pixels. A disadvantage of such shape encoding techniques is that they are capable of accurately representing only solid, connected shapes. Such objects may be characterized as having only a continuous outer boundary. While adequate for representing many types or classes of object, such representations are inadequate for complex objects having general shapes that can include interior regions corresponding to different objects. Because such complex objects frequently are included in general video sequences, such as live action video, conventional shape encoding techniques are inadequate for such video applications.
An example of such an object in a live action video sequence is a side view of a moving automobile with windows through which background objects are visible. A simple conventional shape encoding technique is capable of identifying the outer contour or outline of such an object (i.e., the automobile). But such a representation would be incapable of identifying or encoding separately the background objects appearing through the automobile window (i.e., an interior portion or component of the object). These background objects would be encoded as part of the automobile object despite having no actual relation to it. As a consequence, changes in the background objects seen through the window as the automobile moves would result in significant errors in the encoding of the automobile object.
Sometimes, quad tree encoding is utilized to identify and encode complex objects. In quad tree encoding of binary objects, for example, a right regular region is subdivided into quadrants whenever the region includes pixels of both binary states. Resulting quadrants are successively subdivided into quadrants whenever they include pixels of both binary states. The iterative subdivision continues until all pixels in each resulting quadrant is of a single binary state or until the subdivision resolution limit is reached.
Quad tree encoding suffers from the disadvantage of being inefficient because of a fixed subdivision resolution limit and a fine resolution limit required for general video applications. The fixed subdivision resolution limit is not adaptive and is applied regardless of the complexity of an object configuration; frequently using computation resources unnecessarily or inefficiently. In combination with the fixed subdivision resolution limit, the fine resolution required for general video applications in quad tree encoding consume excessive amounts of computation resources.
The limited capabilities of conventional shape encoding techniques result in increased encoding errors. Alternatively, quad tree encoding is inefficient and requires excessive computation resources. These shortcomings of conventional processes can limit the affordability and practicality of video compression encoding.